МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
Звіт про виконання лабораторної роботи №4
на тему: “ Організація програм, підпрограм і способи передачі параметрів в однокристальному МП КР580 ”
з курсу: “ Комп’ютери та мікропроцесорні системи ”
Виконав
студент групи КН-3
Львів - 2006
1. МЕТА РОБОТИ
Вивчити команди переходів, виклику і повернення із підпрограми, способи передачі параметрів і отримати практичні навики програмування з використанням підпрограм.
2. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. Характеристика команд передачі керування. Команди передачі керування, які змінюють природний порядок вибірки і виконання команд програми в однокристальному МП КР580, можуть бути поділені на 4 підгрупи: переходу, виклику підпрограми,повернення з підпрограми, повторного пуску. Команди цієї групи не змінюють стану регістра ознак.
Команди передачі керування бувають двох типів: безумовні і умовні. Безумовні команди виконують певні операції із вмістом програмного лічильника РС, який вказує адресу наступної команди.
Умовні команди спочатку аналізують стан однієї з чотирьох ознак (перевіряють виконання умови) і в залежності від цього змінюють або не змінюють вміст програмного лічильника. Оскільки ознаки встановлю-ються за результатом попередньої операції, то передача керування залежить від результату операції.
Умови команд передачі керування такі:
NZ-Z=0, результат не нуль;
Z-Z=1, нуль;
NC-CY=0, немає переносу;
C-CY=1, є перенос;
PO-P=0, непарність;
PE-P=1, парність;
P-S=0, плюс;
M-S=1, мінус.
2.2. Команди переходів.
2.2.1.JMP J- АДРЕС- безумовний перехід.
PC J- АДРЕС- 3-й і 2-й байти команди.
Передати керування команді, адресу якої визначається 3-м і 2-м байтами команди, причому 3-й байт є старшим байтом адреси.
Приклад: JMP C000H; PC C000.
Передати керування команді з адресою C000H.
2.2.2. УМОВА АДРЕСИ - умовний перехід.
Якщо УМОВА, тоді PC АДРЕСА.
Якщо умова справджується, тоді передати керування команді, адреса якої визначається 3-м і 2-м байтами команди; в іншому випадку виконується подальша команда програми. З врахуванням умов існують 8 таких команд умовних переходів:
JNZ - перехід, якщо Z=0 (не нуль);
JZ - перехід, якщо Z=1 (нуль);
JNC - перехід, якщо CY=0 (немає переносу);
JC - перехід, якщо CY=1 (перенос);
JPO - перехід, якщо P=0 (непарність);
JPE - перехід, якщо P=1 (парність);
JM - перехід, якщо S=0 (мінус);
JP - перехід, якщо S=1 (плюс).
Під час запису команд переходів на мові Асемблера адреса переходу задається в символьній формі (міткою). Після трансляції програми з мови Асемблера в об'єктний код символьна адреса замінюється двобайтовим числом.
2.2.3. PCHL; PC HL.
Безумовна передача керування команді, адреса якої визначається вмістом регістрової пари HL. При цьому, вміст регістра Н заноситься у вісім старших розрядів лічильника команд РС, а вміст регістра L - у вісім молодших.
2.3. Програмування простих розгалужень. Команди переходів використовуються для організації розгалужень і циклів у програмах.
При розгалуженнях у програмі аналізуються деякі умови і в залежності від них або зберігається послідовний порядок виконання програми, або відбувається перехід на іншу частину програми. Індикаторами таких умов в мікропроцесорі виступають ознаки (прапорці).
Розглянемо принцип розгалуження на простому прикладі. У залежності від значення старшого розряду числа В необхідно перейти до двох різних точок програми: PLUS або MINUS.
Загальний алгоритм рішення цієї задачі такий:
- перевірити значення старшого розряду числа В;
- якщо В=0, тоді перейти на програму PLUS;
- якщо В=1, тоді перейти на програму MINUS.
Розглянемо декілька варіантів розв'язання цієї задачі.
Оскільки безпосередній аналіз числа в регістрі В неможливий, число з регістра В спочатку пересилається в акумулятор, потім над його вмістом виконується деяка арифметична або логічна операція для того, щоб в залежності від чис...